package org.wlc.demov1Impl;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.wlc.demov1Impl.cuisine.ICuisine;

import java.util.ArrayList;
import java.util.List;

/**
 * @author 王立朝
 * @date 2022/5/16
 * @description:
 * 在调用者的具体实现中，提供了菜品的添加和菜单执行烹饪。
 * 这个过程是命令模式的具体调用，通过外部将菜品和厨师传递进来而进行具体的调用。
 */
public class XiaoEr {


    private static final Logger logger = LoggerFactory.getLogger(XiaoEr.class);
    private List<ICuisine> cuisineList = new ArrayList<>();

    public void order(ICuisine iCuisine){
        cuisineList.add(iCuisine);
    }

    public synchronized void placeOrder() {
        for (ICuisine cuisine : cuisineList) {
            cuisine.cook();
        }
        cuisineList.clear();
    }
}
